package web.usuarios;

import Persistencia.*;
import controladores.*;
import org.springframework.web.servlet.mvc.*;
import org.springframework.web.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.logging.*;
import java.util.*;
import org.springframework.web.servlet.view.*;

/*
 * Este controlador lista las sesiones de lo paciente elegido. Y tambien las sesiones de los pacientes del fisioterapeuta.
 *
 */

public class ControladorListarSesiones implements Controller{
    protected final Log logger = LogFactory.getLog(getClass());
    ControladorSesion controlador;
    @Override

    public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
        String id = hsr.getParameter("id_fisio");
        controlador = new ControladorSesion();
        String tipo = hsr.getParameter("tipo");
        Map<String, Object> myModel = new HashMap<String, Object>();
        myModel.put("id_fisio", id);
        if(tipo!=null && (tipo.equals("revisar")||tipo.equals("revisarFisio"))){
            myModel.put("sesiones", controlador.encontrarMisSesionesPac(hsr.getParameter("id_paciente")));
        }else{
            myModel.put("sesiones", controlador.encontrarMisSesiones(id));
         }
        if(tipo!=null){
            if(tipo.equals("eliminar")){
                return new ModelAndView("eliminarSesion", "model", myModel);
            }else if(tipo.equals("revisar")){
                myModel.put("tipo", "revisar");
                return new ModelAndView("revisarSesion", "model", myModel);
            }else if(tipo.equals("revisarFisio")){
                myModel.put("tipo", "revisarFisio");
                return new ModelAndView("revisarSesionFisio", "model", myModel);
            }else{
                return new ModelAndView("administrarSesion", "model", myModel);
            }
        }else{
            String idSes = hsr.getParameter("id_sesion");
            Sesion ob = null;
            List<Sesion> obj = controlador.encontrarSesiones();
            System.out.println(obj);
            if(obj!=null){
                for(int i=0;i<obj.size();i++){
                    if(idSes.equals(""+obj.get(i).getIdSesion())){
                        ob = obj.get(i);
                    }
                }
            }
            if(ob!=null){
                Map<String, Object> myMode = new HashMap<String, Object>();
                myMode.put("id_fisio", id);
                myMode.put("modSesion", ob);
                return new ModelAndView("modificarSesion","modSesion",controlador.convertirDomain(ob));
            }else{
                System.out.println("FUE NULL");
                return new ModelAndView("administrarSesion", "model",myModel);
            }
        }
    }
}
